package com.rchat.pocmini.activity.addfriend;

import android.content.Intent;

import com.aso.common.http.delegate.HttpCallbackImpl;
import com.rchat.pocmini.bean.SearchUserBean;
import com.rchat.pocmini.common.mvp.BaseModel;
import com.rchat.pocmini.common.mvp.BasePresenter;
import com.rchat.pocmini.common.mvp.BaseView;

/**
 * Created by ljd on 2017/8/7.
 */

public interface AddFriendContract {

    interface View extends BaseView {
        void showSearchFriendResultDialog(SearchUserBean searchGroupBean);

        void dismissSearchUserDialog();
    }

    abstract class Presenter extends BasePresenter<AddFriendContract.View, AddFriendContract.Model> {
        /**
         * 搜索好友
         *
         * @param phone       电话号码
         * @param displayName 昵称
         * @param account     账号
         */
        abstract void searchUser(String phone, String displayName, String account);

        /**
         * 扫二维码（pocId）添加好友
         *
         * @param data zxing扫描的结果
         */
        abstract void scanUser(Intent data);
    }

    interface Model extends BaseModel {
        /**
         * 搜索好友
         *
         * @param phone       电话号码
         * @param displayName 昵称
         * @param account     账号
         * @param callback
         */
        void searchUser(String phone, String displayName, String account, HttpCallbackImpl callback);

        /**
         * 扫二维码（pocId）添加好友
         *
         * @param userName PocId
         * @param callback
         */
        void scanUser(String userName, HttpCallbackImpl callback);

        /**
         * 申请添加好友
         *
         * @param userName  申请人
         * @param otherName 添加对象
         * @param callback
         */
        void addFriend(String userName, String otherName, HttpCallbackImpl callback);
    }
}
